<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>TagDescriptor (Metadata-Extractor - JavaDoc - An Open Source Java Library for Image File Metadata)</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="TagDescriptor (Metadata-Extractor - JavaDoc - An Open Source Java Library for Image File Metadata)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TagDescriptor.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><a href='http://www.drewnoakes.com/code/exif/' title='Go to the project home page.'><img src='http://metadata-extractor.googlecode.com/git/Resources/metadata-extractor-logo-131x30.png' border=0 alt='Metadata Extractor Logo'></a></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../com/drew/metadata/Tag.html" title="class in com.drew.metadata"><span class="strong">Prev Class</span></a></li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?com/drew/metadata/TagDescriptor.html" target="_top">Frames</a></li>
<li><a href="TagDescriptor.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.drew.metadata</div>
<h2 title="Class TagDescriptor" class="title">Class TagDescriptor&lt;T extends <a href="../../../com/drew/metadata/Directory.html" title="class in com.drew.metadata">Directory</a>&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.drew.metadata.TagDescriptor&lt;T&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../com/drew/metadata/adobe/AdobeJpegDescriptor.html" title="class in com.drew.metadata.adobe">AdobeJpegDescriptor</a>, <a href="../../../com/drew/metadata/exif/CanonMakernoteDescriptor.html" title="class in com.drew.metadata.exif">CanonMakernoteDescriptor</a>, <a href="../../../com/drew/metadata/exif/CasioType1MakernoteDescriptor.html" title="class in com.drew.metadata.exif">CasioType1MakernoteDescriptor</a>, <a href="../../../com/drew/metadata/exif/CasioType2MakernoteDescriptor.html" title="class in com.drew.metadata.exif">CasioType2MakernoteDescriptor</a>, <a href="../../../com/drew/metadata/DefaultTagDescriptor.html" title="class in com.drew.metadata">DefaultTagDescriptor</a>, <a href="../../../com/drew/metadata/exif/ExifIFD0Descriptor.html" title="class in com.drew.metadata.exif">ExifIFD0Descriptor</a>, <a href="../../../com/drew/metadata/exif/ExifInteropDescriptor.html" title="class in com.drew.metadata.exif">ExifInteropDescriptor</a>, <a href="../../../com/drew/metadata/exif/ExifSubIFDDescriptor.html" title="class in com.drew.metadata.exif">ExifSubIFDDescriptor</a>, <a href="../../../com/drew/metadata/exif/ExifThumbnailDescriptor.html" title="class in com.drew.metadata.exif">ExifThumbnailDescriptor</a>, <a href="../../../com/drew/metadata/exif/FujifilmMakernoteDescriptor.html" title="class in com.drew.metadata.exif">FujifilmMakernoteDescriptor</a>, <a href="../../../com/drew/metadata/exif/GpsDescriptor.html" title="class in com.drew.metadata.exif">GpsDescriptor</a>, <a href="../../../com/drew/metadata/icc/IccDescriptor.html" title="class in com.drew.metadata.icc">IccDescriptor</a>, <a href="../../../com/drew/metadata/iptc/IptcDescriptor.html" title="class in com.drew.metadata.iptc">IptcDescriptor</a>, <a href="../../../com/drew/metadata/jfif/JfifDescriptor.html" title="class in com.drew.metadata.jfif">JfifDescriptor</a>, <a href="../../../com/drew/metadata/jpeg/JpegCommentDescriptor.html" title="class in com.drew.metadata.jpeg">JpegCommentDescriptor</a>, <a href="../../../com/drew/metadata/jpeg/JpegDescriptor.html" title="class in com.drew.metadata.jpeg">JpegDescriptor</a>, <a href="../../../com/drew/metadata/exif/KodakMakernoteDescriptor.html" title="class in com.drew.metadata.exif">KodakMakernoteDescriptor</a>, <a href="../../../com/drew/metadata/exif/KyoceraMakernoteDescriptor.html" title="class in com.drew.metadata.exif">KyoceraMakernoteDescriptor</a>, <a href="../../../com/drew/metadata/exif/NikonType1MakernoteDescriptor.html" title="class in com.drew.metadata.exif">NikonType1MakernoteDescriptor</a>, <a href="../../../com/drew/metadata/exif/NikonType2MakernoteDescriptor.html" title="class in com.drew.metadata.exif">NikonType2MakernoteDescriptor</a>, <a href="../../../com/drew/metadata/exif/OlympusMakernoteDescriptor.html" title="class in com.drew.metadata.exif">OlympusMakernoteDescriptor</a>, <a href="../../../com/drew/metadata/exif/PanasonicMakernoteDescriptor.html" title="class in com.drew.metadata.exif">PanasonicMakernoteDescriptor</a>, <a href="../../../com/drew/metadata/exif/PentaxMakernoteDescriptor.html" title="class in com.drew.metadata.exif">PentaxMakernoteDescriptor</a>, <a href="../../../com/drew/metadata/photoshop/PhotoshopDescriptor.html" title="class in com.drew.metadata.photoshop">PhotoshopDescriptor</a>, <a href="../../../com/drew/metadata/photoshop/PsdHeaderDescriptor.html" title="class in com.drew.metadata.photoshop">PsdHeaderDescriptor</a>, <a href="../../../com/drew/metadata/exif/SigmaMakernoteDescriptor.html" title="class in com.drew.metadata.exif">SigmaMakernoteDescriptor</a>, <a href="../../../com/drew/metadata/exif/SonyType1MakernoteDescriptor.html" title="class in com.drew.metadata.exif">SonyType1MakernoteDescriptor</a>, <a href="../../../com/drew/metadata/exif/SonyType6MakernoteDescriptor.html" title="class in com.drew.metadata.exif">SonyType6MakernoteDescriptor</a>, <a href="../../../com/drew/metadata/xmp/XmpDescriptor.html" title="class in com.drew.metadata.xmp">XmpDescriptor</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="strong">TagDescriptor&lt;T extends <a href="../../../com/drew/metadata/Directory.html" title="class in com.drew.metadata">Directory</a>&gt;</span>
extends java.lang.Object</pre>
<div class="block">Abstract base class for all tag descriptor classes.  Implementations are responsible for
 providing the human-readable string representation of tag values stored in a directory.
 The directory is provided to the tag descriptor via its constructor.</div>
<dl><dt><span class="strong">Author:</span></dt>
  <dd>Drew Noakes http://drewnoakes.com</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../com/drew/metadata/TagDescriptor.html" title="type parameter in TagDescriptor">T</a></code></td>
<td class="colLast"><code><strong><a href="../../../com/drew/metadata/TagDescriptor.html#_directory">_directory</a></strong></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../com/drew/metadata/TagDescriptor.html#TagDescriptor(T)">TagDescriptor</a></strong>(<a href="../../../com/drew/metadata/TagDescriptor.html" title="type parameter in TagDescriptor">T</a>&nbsp;directory)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../com/drew/metadata/TagDescriptor.html#convertBytesToVersionString(int[], int)">convertBytesToVersionString</a></strong>(int[]&nbsp;components,
                           int&nbsp;majorDigits)</code>
<div class="block">Takes a series of 4 bytes from the specified offset, and converts these to a
 well-known version number, where possible.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../com/drew/metadata/TagDescriptor.html#getDescription(int)">getDescription</a></strong>(int&nbsp;tagType)</code>
<div class="block">Returns a descriptive value of the the specified tag for this image.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="_directory">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>_directory</h4>
<pre>protected final&nbsp;<a href="../../../com/drew/metadata/TagDescriptor.html" title="type parameter in TagDescriptor">T</a> extends <a href="../../../com/drew/metadata/Directory.html" title="class in com.drew.metadata">Directory</a> _directory</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="TagDescriptor(com.drew.metadata.Directory)">
<!--   -->
</a><a name="TagDescriptor(T)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TagDescriptor</h4>
<pre>public&nbsp;TagDescriptor(<a href="../../../com/drew/metadata/TagDescriptor.html" title="type parameter in TagDescriptor">T</a>&nbsp;directory)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getDescription(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDescription</h4>
<pre>public&nbsp;java.lang.String&nbsp;getDescription(int&nbsp;tagType)</pre>
<div class="block">Returns a descriptive value of the the specified tag for this image.
 Where possible, known values will be substituted here in place of the raw
 tokens actually kept in the metadata segment.  If no substitution is
 available, the value provided by <code>getString(tagType)</code> will be returned.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>tagType</code> - the tag to find a description for</dd>
<dt><span class="strong">Returns:</span></dt><dd>a description of the image's value for the specified tag, or
         <code>null</code> if the tag hasn't been defined.</dd></dl>
</li>
</ul>
<a name="convertBytesToVersionString(int[], int)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>convertBytesToVersionString</h4>
<pre>public static&nbsp;java.lang.String&nbsp;convertBytesToVersionString(int[]&nbsp;components,
                                           int&nbsp;majorDigits)</pre>
<div class="block">Takes a series of 4 bytes from the specified offset, and converts these to a
 well-known version number, where possible.
 <p/>
 Two different formats are processed:
 <ul>
     <li>[30 32 31 30] -&gt; 2.10</li>
     <li>[0 1 0 0] -&gt; 1.00</li>
 </ul></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>components</code> - the four version values</dd><dd><code>majorDigits</code> - the number of components to be</dd>
<dt><span class="strong">Returns:</span></dt><dd>the version as a string of form "2.10" or null if the argument cannot be converted</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TagDescriptor.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><a href='http://www.drewnoakes.com/code/exif/' title='Go to the project home page.'><img src='http://metadata-extractor.googlecode.com/git/Resources/metadata-extractor-logo-131x30.png' border=0 alt='Metadata Extractor Logo'></a></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../com/drew/metadata/Tag.html" title="class in com.drew.metadata"><span class="strong">Prev Class</span></a></li>
<li>Next Class</li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?com/drew/metadata/TagDescriptor.html" target="_top">Frames</a></li>
<li><a href="TagDescriptor.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><i>Copyright &#169; 2003-2012 Drew Noakes. All Rights Reserved.</i>
<script src='http://www.google-analytics.com/urchin.js' type='text/javascript'></script>
<script type='text/javascript'>
_uacct = 'UA-936661-1';
urchinTracker();
</script></small></p>
</body>
</html>
